using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace HLLib
{

    /// <summary>
    /// HLBigWorldFogInfo
    /// </summary>
    public class HLBigWorldFogInfo
    {
        /// <summary>
        /// HLBigWorldFogInfo
        /// </summary>
        public HLBigWorldFogInfo()
        {

        }


        /// <summary>
        /// ~HLBigWorldFogInfo
        /// </summary>
        ~HLBigWorldFogInfo()
        {

        }


        #region ----------------------- Fog Plane -----------------------------

        /// <summary>
        /// PlaneTopColor_R
        /// </summary>
        public double PlaneTopColor_R;

        /// <summary>
        /// PlaneTopColor_G
        /// </summary>
        public double PlaneTopColor_G;

        /// <summary>
        /// PlaneTopColor_B
        /// </summary>
        public double PlaneTopColor_B;

        /// <summary>
        /// PlaneTopColor_A
        /// </summary>
        public double PlaneTopColor_A;

        /// <summary>
        /// PlaneBottomColor_R
        /// </summary>
        public double PlaneBottomColor_R;

        /// <summary>
        /// PlaneBottomColor_G
        /// </summary>
        public double PlaneBottomColor_G;

        /// <summary>
        /// PlaneBottomColor_B
        /// </summary>
        public double PlaneBottomColor_B;

        /// <summary>
        /// PlaneBottomColor_A
        /// </summary>
        public double PlaneBottomColor_A;

        /// <summary>
        /// Height
        /// </summary>
        public double Height;

        /// <summary>
        /// Alpha
        /// </summary>
        public double Alpha;

        /// <summary>
        /// Density
        /// </summary>
        public double InDensity;

        /// <summary>
        /// Speed
        /// </summary>
        public double Speed;

        /// <summary>
        /// Move
        /// </summary>
        public double Move;

        /// <summary>
        /// Bottom_Power
        /// </summary>
        public double Bottom_Power;
        #endregion


        #region ----------------------- Global Fog -----------------------------
        /// <summary>
        /// GlobalColor_R
        /// </summary>
        public double GlobalColor_R;

        /// <summary>
        /// GlobalColor_G
        /// </summary>
        public double GlobalColor_G;

        /// <summary>
        /// GlobalColor_B
        /// </summary>
        public double GlobalColor_B;

        /// <summary>
        /// GlobalColor_A
        /// </summary>
        public double GlobalColor_A;

        /// <summary>
        /// Global_Fog_Indensity
        /// </summary>
        public double Global_Fog_Indensity;
        #endregion

        // end...
    }


    /// <summary>
    /// HLBigWorldFogPanelData
    /// </summary>
    public class HLBigWorldFogPanelData
    {
        /// <summary>
        /// HLBigWorldFogPanelData
        /// </summary>
        public HLBigWorldFogPanelData()
        { 
            // list_hlbigworld_foginfo:
            list_hlbigworld_foginfo = new List<HLBigWorldFogInfo>();
        }


        /// <summary>
        /// ~HLBigWorldFogPanelData
        /// </summary>
        ~HLBigWorldFogPanelData()
        {
            ClearHLBigWorldFog();
            Debug.Log("~HLBigWorldFogPanelData scuess !!!");
        }


        /// <summary>
        /// ClearHLBigWorldFog
        /// </summary>
        public void ClearHLBigWorldFog()
        {
            // list_hlbigworld_info:
            if (null != list_hlbigworld_foginfo)
            {
                for (int i = list_hlbigworld_foginfo.Count; --i >= 0;)
                {
                    list_hlbigworld_foginfo[i] = null;
                    list_hlbigworld_foginfo.RemoveAt(i);
                }

                list_hlbigworld_foginfo.Clear();
                list_hlbigworld_foginfo = null;
            }
        }


        /// <summary>
        /// List<HLBigWorldLightInfo>
        /// </summary>
        public List<HLBigWorldFogInfo> list_hlbigworld_foginfo;

        /// <summary>
        /// SceneName
        /// </summary>
        public string SceneName;

        /// <summary>
        /// LightNum
        /// </summary>
        public int FogNum;

    }

}